package org.micode.common.syslog;

import org.micode.common.domain.base.BaseUserCache;
import org.micode.common.domain.vo.SysLogVO;

public interface ISysLogSaver<T extends SysLogVO> {

    void save(T sysLogVO);

    void logLogout(String moduleId,
                   BaseUserCache optUser, Integer userType,
                   String remoteIp, String remoteApp);

    String getRemoteIp(Object[] args);

    String getLoginApp(Object[] args);

    Integer getUserType(Object[] args);

    String getParams(Object[] args);

    Long getCurrentUserId(Object[] args);

    String getCurrentUserToken(Object[] args);

}
